//package com.wanlian;
//
//
//import java.io.*;
//import java.net.Socket;
//import java.util.Scanner;
//
//public class SocketClient extends Socket {
//
//
//    private static final String SERVER_IP = "127.0.0.1"; // 服务端IP
//    private static final int SERVER_PORT = 8899; // 服务端端口
//
//    private Socket client;
//
//    private FileInputStream fis;
//
//    private DataOutputStream dos;
//
//    /**
//     * 构造函数<br/>
//     * 与服务器建立连接
//     *
//     * @throws Exception
//     */
//    public SocketClient() throws Exception {
//        super(SERVER_IP, SERVER_PORT);
//        this.client = this;
//        System.out.println("Cliect[port:" + client.getLocalPort() + "] 成功连接服务端");
//    }
//
//    /**
//     * 向服务端传输文件
//     *
//     * @throws Exception
//     */
//    public void uploadFile(String value) throws Exception {
//        try {
//            File file = new File(value);
//            if (file.exists()) {
//                fis = new FileInputStream(file);
//                dos = new DataOutputStream(client.getOutputStream());
//                // 文件名和长度
//                dos.writeUTF(file.getName());
//                dos.flush();
//                dos.writeLong(file.length());
//                dos.flush();
//                // 开始传输文件
//                System.out.println("======== 开始传输文件 ========");
//                byte[] bytes = new byte[1024];
//                int length = 0;
//                long progress = 0;
//                while ((length = fis.read(bytes, 0, bytes.length)) != -1) {
//                    dos.write(bytes, 0, length);
//                    dos.flush();
//                    progress += length;
//                    System.out.print("| " + (100 * progress / file.length()) + "% |");
//                }
//                System.out.println();
//                System.out.println("======== 文件传输成功 ========");
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//        } finally {
//            if (fis != null)
//                fis.close();
//            if (dos != null)
//                dos.close();
//            client.close();
//        }
//    }
//
//
//    public void DownFile() {
//        //从服务器端下载文件
//        try {
//            while (true) {
//                DataInputStream is = new DataInputStream(client.getInputStream());
//                //OutputStream os = client.getOutputStream();
//                //1、得到文件名
//                String filename = "/Users/zhaoxiaotong/Downloads/SocketClient/";
//                filename += is.readUTF();
//                System.out.println("新生成的文件名为:" + filename);
//                FileOutputStream fos = new FileOutputStream(filename);
//                byte[] b = new byte[1024];
//                int length = 0;
//                while ((length = is.read(b)) != -1) {
//                    //2、把socket输入流写到文件输出流中去
//                    fos.write(b, 0, length);
//                }
//                fos.flush();
//                fos.close();
//                is.close();
//                client.close();
//            }
//
//        } catch (IOException e) {
//            // TODO Auto-generated catch block
//            e.printStackTrace();
//        }
//    }
//
//
//    public static void main(String[] args) {
//        try {
//            SocketClient client = new SocketClient(); // 启动客户端连接
//            while (true) {
//                Scanner scanner = new Scanner(System.in);
//                String s = scanner.nextLine();
//                if (s.equals("send")) {
//                    String jpg = "/Users/zhaoxiaotong/Downloads/user_imghead.png";
//                    String mov = "/Users/zhaoxiaotong/Downloads/1539744667535.mp4";
//                    client.uploadFile(jpg); // 传输文件
//                } else if (s.equals("get")) {
//                    client.DownFile();
//                }
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//}
